home *** CD-ROM | disk | FTP | other *** search
/ Day Cry / Day Cry CD.bin / oh_towns / ein / sources / einlib.lzh / LIBSRC.LZH / EIN_FL06.C < prev    next >
C/C++ Source or Header  |  1994-07-18  |  3KB  |  108 lines

  1. /*<Header>==============================================================
  2. *
  3. *    FILE MANAGER / "EIN_FL06.C"
  4. *
  5. *        [ EIN(tm) project : âtâ@âCâïæÇì∞òΓÅòè╓ÉöîQ ]
  6. *
  7. *    COPYRIGHT  Nam  1994, All rights reserved.
  8. *
  9. *-----------------------------------------------------------------------
  10. *    V1.0L01â┐    94.07.07/Nam    âvâìâgâ^âCâv
  11. *</Header>==============================================================*/
  12. #include    <stdio.h>
  13. #include     <stdlib.h>
  14. #include     <string.h>
  15. #include    <snd.h>
  16. #include    <winb.h>
  17. #include    <te.h>
  18. #include    <fntb.h>
  19. #include    <gui.h>
  20.  
  21. #define    EIN_FILE
  22. #include    "..\eintm.h"
  23.  
  24. #ifndef NOERR
  25. #define    NOERR    (0)
  26. #endif
  27. #ifndef ERROR
  28. #define    ERROR    (1)
  29. #endif
  30.  
  31. extern FILE    *EIN_fopen();
  32. extern int    EIN_remove();
  33.  
  34. /*<Func>================================================================
  35. *    int        EIN_makeBackupFile( char *fullpath, char *ext )
  36. *
  37. *    üyèT  ùvüz    âtâ@âCâïé╠âoâbâNâAâbâvé≡ì∞ɼé╡é▄é╖
  38. *
  39. *    üyï@  ö\üz    
  40. *                int24hânâôâhâëé≡âtâbâNé╡é─éóéΘé╠é┼üAâhâëâCâué╔âAâNâZâX
  41. *                é┼é½é╚é⌐é┴é╜ÅΩìçé┼éαâVâFâïé╠âAâëü[âgé≡Åoé╡é▄é╣é±üB
  42. *
  43. *    üyôⁿ  ù═üz
  44. *                *fullpath    :    ìφÅ£é╖éΘâtâ@âCâïû╝ò╢ÄÜù±é╓é╠â|âCâôâ^
  45. *                *ext        :    âoâbâNâAâbâvâtâ@âCâïé╠ègÆúÄq(NULLé╚éτ"BAK")
  46. *                                [ùß] EIN_makeBackupFile("a:\\tmp.c", NULL);
  47. *                                     EIN_makeBackupFile("a:\\tmp.h", "OLD");
  48. *
  49. *    üyÅo  ù═üz
  50. *
  51. *    üyè╓ÉöÆlüz    != NULL        É│ÅφÅIù╣(âtâ@âCâïâ|âCâôâ^)
  52. *                == NULL        ê┘ÅφÅIù╣
  53. *
  54. *    üyÆì  ê╙üz    
  55. *
  56. *    üyÄQ  Å╞üz    
  57. *
  58. *-----------------------------------------------------------------------
  59. *    V11L10    1994.07.16/Nam
  60. *</Func>==============================================================*/
  61. int        EIN_makeBackupFile( char *fullpath, char *extname )
  62. {
  63.     FILE    *fp;
  64.     char    backpath[128], ext[8];
  65.  
  66.     if ( fullpath == NULL ){
  67.         return ERROR;
  68.     }
  69.     if ( extname != NULL ){
  70.         strncpy( ext, extname, 4);
  71.     }
  72.  
  73.     // âoâbâNâAâbâvâtâ@âCâïû╝é≡É▌ÆΦ
  74.     EIN_fnameNonExt( fullpath, backpath );
  75.     strcat( backpath, ".");
  76.     strcat( backpath, ext);
  77.     #ifdef DEBUG
  78.     printf("%s->%s\n", fullpath, backpath);
  79.     #endif
  80.     // âZü[âué╡é╜éóâtâ@âCâïû╝é¬æ╢ì▌é╡é╚éóé╚éτë╜éαé╣é╕ÅIù╣
  81.     fp = EIN_fopen( fullpath, "rb" );
  82.     if ( fp == NULL ){
  83.         return NOERR;
  84.     }
  85.     fclose( fp );
  86.     // î├éóâoâbâNâAâbâvâtâ@âCâïé¬éáéΩé╬ìφÅ£é╖éΘ
  87.     fp = EIN_fopen( backpath, "rb" );
  88.     if ( fp != NULL ){
  89.         fclose( fp );
  90.         if ( EIN_remove( backpath ) != 0 ){
  91.             #ifdef DEBUG
  92.             printf("\t: î├éóâoâbâNâAâbâvâtâ@âCâïé≡ìφÅ£é┼é½é▄é╣é±é┼é╡é╜.\n");
  93.             printf("    %s\n", backpath );
  94.             #endif
  95.             return ERROR;
  96.         }
  97.     }
  98.     // î╗ì▌é╠âtâ@âCâïé≡âoâbâNâAâbâvû╝é╔âèâlü[âÇé╖éΘ
  99.     if ( rename( fullpath, backpath ) != 0 ){
  100.         #ifdef DEBUG
  101.         printf("\t: âoâbâNâAâbâvâtâ@âCâïé≡ì∞ɼé┼é½é▄é╣é±é┼é╡é╜.\n");
  102.         printf("    %s->%s\n", fullpath, backpath );
  103.         #endif
  104.         return ERROR;
  105.     }
  106.     return NOERR;
  107. }
  108.